16.09.2009
В настоящее время в торговле получают все большее распространение системы оплаты с помощью платежных карт. Для этого помимо модулей торговых конфигураций системы "1С:Предприятие 8" на кассах торгово-сбытовых предприятий дополнительно устанавливаются программно-технические комплексы работы с пластиковыми картами российских и международных платежных систем. При этом ввод информации по операциям с пластиковыми картами в информационную базу системы "1С:Предприятие 8" осуществляется вручную. Помимо дополнительной траты времени и неудобства в работе кассира это может привести к потере информации или ее искажению. Поэтому становится актуальной интеграция эквайринговых продуктов с торговыми конфигурациями системы "1С:Предприятие 8".
Для организации взаимодействия в системе "1С:Предприятие 8" поставляется специальная обработка обслуживания, а программное обеспечение системы эквайринга должно содержать специальную внешнюю компоненту.
Примерная схема организации приема платежей по платежным картам.

Внешняя компонента эквайринговых систем ("ВКЭС") должна соответствовать общей концепции разработки и применения внешних компонент для взаимодействия с торговым оборудованием ("Устройством"). Использование такого подхода позволяет упростить процесс подключения любых новых программно-технических комплексов к системе "1С:Предприятие 8".
Общая схема взаимодействия системы "1С:Предприятие 8" с торговым оборудованием.

"ВКЭС" должна удовлетворять следующим требованиям:
При необходимости оплатить покупку платежной картой "Система" вызывает функцию "Оплатить платежной картой" у "ВКЭС", передавая ей во входном параметре сумму к оплате для списания с карты и номер считанной карты (номер карты не должен присутствовать в полном, явном виде согласно п. п. 3.2-3.4 стандарта PCI DSS 1.1). "ВКЭС" в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.
Если происходит отмена платежа, то "Система" вызывает функцию "Отменить платеж по платежной карте" у "ВКЭС", передавая ей во входных параметрах сумму, которая была указана для списания с карты, номер считанной карты и код RRN операции, по которой совершается отмена оплаты картой. "ВКЭС" в ответ возвращает результат выполнения функции.
При возврате платежа "Система" вызывает функцию "Вернуть платеж по платежной карте" у "ВКЭС", передавая ей во входном параметре сумму к возврату на карту и номер считанной карты. "ВКЭС" в ответ возвращает результат выполнения функции, а в выходные параметры записывает код RRN, код авторизации.
Соединение с "ВКЭС" закрывается при завершении работы системы "1С:Предприятие 8".
Если для работы компоненты необходима настройка каких-либо параметров, то их необходимо реализовать в виде свойств компоненты. Свойства определяются разработчиками компоненты на этапе проектирования. Заполняется таблица, приведенная ниже.
| Название (alias) | Тип | Доступность | Описание | |
|
Чтение |
Запись | |||
| Название (alias) | Параметры | Возвращаемое значение | Описание | ||
| Имя | Тип | Описание | |||
| ПолучитьНомерВерсии (GetVersion) | BSTR | Возвращает номер версии драйвера (например, "1.01" или "1.0.0.1") | |||
| ОплатитьПлатежнойКартой (PayByPaymentCard) | НомерКарты | (CardNumber)BSTR [IN/ OUT] | Номер банковской карты (1234 5678 9012 3456) | BOOL | Функция оплаты платежной карты. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты |
| Сумма (Amount) | LONG [IN] | Сумма к оплате по карте | |||
| КодRRN (RRNCode) | BSTR[OUT] | Возвращается RRN транзакции | |||
| КодАвторизации (AuthorizationCode) |
BSTR [OUT] | Возвращается код авторизации транзакции | |||
| ОтменитьПлатежаПоПлатежнойКарте (CancelPaymentByPaymentCard) | НомерКарты (CardNumber) | BSTR [IN/ OUT] | Номер банковской карты | BOOL | Функция отмены платежа по карте. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты |
| Сумма (Amount) |
LONG [IN] | Сумма к оплате по карте | |||
| КодRRN (RRNCode) |
BSTR
[IN] |
Код транзакции оплаты, по которой происходит отмена | |||
| ВернутьПлатежПоПлатежнойКарте (ReturnPaymentByPaymentCard) | НомерКарты (CardNumber) | BSTR
[IN/ OUT] |
Номер банковской карты | BOOL | Функция возврата платежа. Если код карты – пустая строка, то считывание карты ведется средствами самой ЭС (с использованием PIN-Pad’а) и в параметре "НомерКарты" возвращается прочитанный номер карты |
| Сумма(Amount) | LONG [IN] | Сумма к оплате по карте | |||
| КодRRN (RRNCode) | BSTR [OUT] | Возвращается RRN транзакции | |||
| КодАвторизации(AuthorizationCode) | BSTR [OUT] | Возвращается код авторизации транзакции | |||
| ИтогиДняПоКартам (Settlement) | BOOL | Функция подведения итогов дня по операциям с банковскими картами | |||
| ПолучитьОшибку (GetLastError) – ОК |
ОписаниеОшибки (ErrorDescription) | BSTR [OUT] | Описание ошибки | LONG | Возвращает код и описание последней произошедшей ошибки |
При разработке системы необходимо подготовить макеты слип-чеков в соответствии с внутренними требованиями банка. В этом разделе необходимо разместить макеты чеков под разную ширину чековой ленты. Значения, которые должны подставляться в чек, должны быть реализованы в виде свойств компоненты (таблица Описание свойств). Метки значений для подстановки могут быть указаны в квадратных скобках - [], например (чек оплаты, ширина 36 сим.):
| 123456789012345678901234567890123456 |
|
Фирма "1С" |
| Отдел 73 |
| [Дата ] [ Время] |
| Банк |
| БЕЗНАЛИЧНЫЙ РАСЧЕТ |
| [НомерКарты ] [ СрокДействия] |
| ОПЛАТА ТОВАРА |
| СУММА: [ Сумма] |
| НОМЕР ТЕРМИНАЛА: [ Терминал] |
| НОМЕР КВИТАНЦИИ: [ Квитанция] |
| КОД АВТОРИЗАЦИИ: [ КодАвторизации] |
| НОМЕР ССЫЛКИ: [ НомерСсылки] |
| НОМЕР ССЫЛКИ: [ НомерСсылки] |
| [ РезультатТранзакции ] |
| ____________________________________ |
| (ПОДПИСЬ КЛИЕНТА) |
| 123456789012345678901234567890123456 |
Для расчета ширины макета используется максимально возможное значение в строке.